<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<title>PrgLnch Config</title>
<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="theme.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY>
<h1>PrgLnch Config</h1>
<h2>Prg Options</h2>
<table class="info">
<tr href="#" id="ShortcutSlots">
<td>Shortcut Slots:
</td>
<td>Select a Shortcut Slot to fill or modify the <a href="PrgLnch FAQ.htm#PrgLnchShortcut">PrgLnch Shortcut</a>, or clear the text in order to remove it with the <I>del</I> key or <a href="#ModifyShortcut">Modify Shortcut</a> button below. The slot can be also changed by <a href="PrgLnch FAQ.htm#DragIn">dragging</a> in files or links,  Else leave the selection on "None" to change the resolution of the current monitor. Tapping the <a href="PrgLnch FAQ.htm#Del">Del key</a> will remove all contents of the box.
</td>
 </tr>
 <tr href="#" id="ModifyShortcut">
<td>
Change, or modify Shortcut:
</td>
<td>
Depending on the contents of <a href="#ShortcutSlots">Shortcut Slot</a> above, the current Prg name and/or path associated with the <a href="PrgLnch FAQ.htm#PrgLnchShortcut">PrgLnch Shortcut</a> can be added, modified, or removed with this button. To complement this facility there is support for <a href="PrgLnch FAQ.htm#DragIn">Drag In Files</a>, Associations &amp; UNC paths along with provision for <a href="PrgLnch FAQ.htm#DosBox">DosBox</a>.
</td>
</tr>
<tr href="#" id="CmdLineExtras">
<td>
Command Line Extras:
</td>
<td>Paste in any extra parameters or arguments required for the Prg to run. Not available if the Prg is a <a href="#PrgCanBeShortcutToFile">shortcut</a>. The <a href="PrgLnch FAQ.htm#Del">Del key</a> removes everything in the box.
</td>
<tr href="#" id="MonitorName" >
<td>
Monitor Name:
</td>
<td>This displays the system name of the monitor that the current Prg will run on. Blue indicates a primary monitor, orange indicates a secondary monitor, and the grey, spare monitor slots. Click the label for a tooltip on monitor info.
</td>
 </tr>
<tr href="#" id="MonitorList">
<td>
Monitor List:
</td>
<td>
Numbered list of monitors. The colour of the <a href="#MonitorName">MonitorName</a> above indicates its usabilty.
</td>
</tr>
<tr href="#" id="ResolveShortcut">
<td>
Shortcut Nav. (Dlg.) vs. Resolve Shortcut:
</td>
<td>
This check (greyed if Prg is linked directly to an executable) refers to two settings:<br>
<STRONG>Shortcut Nav. (Dlg.)</STRONG>:
If checked, all links in the <a href="#ModifyShortcut">Make Shortcut</a> File Open dialog are supposed to be resolved, so all launchable files (bar <B>*.lnk</B> files) are available in the dialog.
 When unchecked, navigation through links in the <a href="#ModifyShortcut">Make Shortcut</a> dialog is not possible, thus it's possible for the selected Prg to be a file with a <B>*.lnk</B> extension. See <a href="https://www.autohotkey.com/boards/viewtopic.php?f=81&t=62481&p=298287#p298287" target="foo">here</a> for further details.<br>
<STRONG>Resolve Shortcut</STRONG>:
This is greyed if Prg is not a <B>.lnk</B> file.<br>
When unchecked, the linked executable file is then launched with the properties specified in the <B>.lnk</B> file (seen through the file explorer) in play. Here, the <a href="PrgLnch FAQ.htm#PrgLnchShortcut">PrgLnch Shortcut</a> command line and URL options are unavailable, and the initial <a href="PrgLnch FAQ.htm#WorkingDirectory">working directory</a>  is set via the <B>.lnk</B> properties. When checked, the <a href="PrgLnch FAQ.htm#WorkingDirectory">working directory</a> changes, <EM>Window Min-Norm-Max  </EM>,command line and URL options are available, as the resolved target is now preferred.
</td>
 </tr>
</table>

<h2>Res Options</h2>
<dl>
  <dt href="#" id="TestMode">TestMode:
</dt>
  <dd>
System tests if the resolution works and PrgLnch notifies on success or fail. This is recommended before using <a href="#ChangeAtEveryMode">Change at every mode</a> or <a href="#Dynamic">Dynamic</a> options.
</dd>
  <dt href="#" id="ChangeAtEveryMode">Change at every mode:
</dt>
  <dd>
Resolution is changed as in <a href="#Dynamic">Dynamic</a> below even if the target resolution matches the current resolution. PrgLnch will, in any case advise on such changes on resolution matches regardless of the Res Option.
</dd>
  <dt href="#" id="Dynamic">Dynamic: (All running Apps):
</dt>
  <dd>
Resolution change is permanent. All apps running will receive this change and may or may not resize accordingly. The position of the items on the desktop will change.
</dd>
  <dt href="#" id="Temporary">Temporary (Recommended):
</dt>
  <dd>
Resolution changes are in effect only while PrgLnch is running.
</dd>
</dl>
<dl>
  <dt href="#" id="PullValuesFromRegistry"><h3>Pull values from registry</h3></dt>
  <dd>Retrieves the settings for the monitor that are currently stored in the registry rather than those used for the current monitor before changing resolution. In most cases they will match.</dd>
</dl>
<dl>
<dt href="#" id="DefaultResolution">
Default Resolution:
</dt>
<dd>
Currently used (or default) resolution for the selected monitor. It can be greyed out to indicate some kind of problem with the monitor.
</dd>
 </dl>
<dl>
<dt href="#" id="ListAllCompatible">List All Compatible:
</dt>
<dd>
Checking this box modifies the <a href="#ResolutionModes">list below</a> to a more usable (or driver safe) set of resolution modes for the selected monitor. Depending on how drivers handle the resolution data, some existing modes may be removed or modified, and extra modes added.
</dd>
 </dl>
<dt href="#" id="ResolutionModes">
<dt>
Resolution Modes:
</dt>
<dd>
List of resolution modes for the selected monitor. 32 bit bits per pixel (<a href="https://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29">True Colour</a>) is the current standard. 
</dd>
</dl>
<h2>More Prg Options</h2>
<table class="info">
<tr href="#" id="ChgResonClose">
<td>
Change Resolution on Close:
</td>
<td>
When a  <a href="PrgLnch Config/PrgLnch Config.htm#TestRunPrg">Test Run</a> Prg terminates, the resolution reverts to what it was directly before the Prg is run. When any Prg in a <a href="PrgLnch Batch/PrgLnch Batch.htm#BatchPresets">Batch Preset</a> is terminated, the resolution reverts what it was before the batch was run.
</td>
</tr>
<tr href="#" id="ChgResonSwitch">
<td>
Change Resolution on Switch:
</td>
<td>
Advanced Users: If a Prg is run on the same monitor as PrgLnch at a resolution other than the <a href="PrgLnch Config/PrgLnch Config.htm#DefaultResolution">Default Resolution</a>, switching from Prg to PrgLnch and vice-versa will change the resolutions accordingly.
</td>
</tr>
<tr href="#" id="MinMax">
<td>
Window Minimised, Normal, or Maximised:
</td>
<td>
Provisional on certain window properties of Prg, the default value is Norm (Normal) for its saved window positions and dimensions, else the Prg can be run maximised or minimised. Disabled for <B>*.lnk</B> files which have their own window settings configurable through explorer. While it can be applied while the test Prg is active, the values are not saved. If Prg has more than one window, the <a href="Active Window Properties/Active Window Properties.htm">Active Window Properties</a> dialog shows.
</td>
 </tr>
<tr href="#" id="Priority">
<td>
Priority:
</td>
<td>
Default value is N (Normal). Check the box for H (High) priority or clear it for BN (Below Normal). When changed while the Prg is active, the new values are saved for the next launch of Prg.
</td>
 </tr>
<tr href="#" id="Borderless">
<td>
Borderless:
</td>
<td>
The <a href="PrgLnch FAQ.htm#BorderlessPoint">Borderless</a> check (available for typical Windows subsystems) refers to two settings:<br>
<STRONG>Ext. Borderless</STRONG>:
When checked, <a href="https://docs.microsoft.com/en-us/windows/desktop/winmsg/extended-window-styles">extended</a> borderless styles are detected in addition to the commonly used size and caption styles.<br>
<STRONG>Apply Borderless</STRONG>:
The regular and optionally extended borderless styles are available for toggle only on <a href="PrgLnch Config/PrgLnch Config.htm#TestRunPrg">Test Runs</a> for Prgs which are not <a href="PrgLnch Config/PrgLnch Config.htm#ResolveShortcut">unresolved</a> <B>.lnk</B> files. For borderless windows to match the dimensions of the target monitor, maximise them first. If Prg has more than one window, the <a href="Active Window Properties/Active Window Properties.htm">Active Window Properties</a> dialog shows.<br>
<STRONG>Note:</STRONG>
Resizing console (or command) windows or programs driven by legacy 3D engines (based on fixed screen co-ordinates), before removing borders may not always produce the desired effects.<br>
</td>
 </tr>
<tr href="#" id="HidePrgLnchonRun">
<td>
Hide PrgLnch on Run:
</td>
<td>
Hides the PrgLnch Gui after a Prg is launched. The Gui will re-appear in the case of Prg termination, or the case  Prg is still running and is listed as <a href="PrgLnch Batch/PrgLnch Batch.htm#PrgStatus">active</a> in a Batch Preset,- followed by other active Prgs launched in the Preset that do not have this setting checked. A hidden Prglnch can be brought back with <a href="PrgLnch FAQ.htm#RepositionPrgLnch">CTRL-ALT-P</a>.
</td>
 </tr>
<tr href="#" id="ShowAtStartup">
<td>
Show At Startup:
</td>
<td>
If checked, the current Prg shows as selected at the next run of PrgLnch.
</td>
 </tr> 
<tr href="#" id="ApplyLAAFlag">
<td>
Apply LAA Flag:
</td>
<td>
Writes an <B>L</B>arge <B>A</B>ddress <B>A</B>ware flag to the executable. Most Prgs have this setting already.
</td>
 </tr>
<tr href="#" id="TestRunPrg">
<td>
Test Run Prg:
</td>
<td>
Either runs the Prg or <a href="PrgLnch FAQ.htm#PrgCancellation">cancels</a> one that is running already. A notification is generated if the Prg is already active in a Batch Preset. When <a href="#ShortcutSlots">Shortcut Slots</a> is "None", the button changes the resolution for the selected <a href="#MonitorList">monitor</a>. If a Prg on a Test Run is active after PrgLnch closes, it will not be detected as running in PrgLnch Config when PrgLnch restarts.</td>
 </tr>
<tr href="#" id="UpdatePrg">
<td>
Update Prg:
</td>
<td>
Click this to update Prg to a newer version<sup><a href="PrgLnch Config/PrgLnch Config.htm#Authref">1</a></sup>  at the <a href="#UrlName">URL Location</a> displayed in the box underneath. A progress bar and <a href="#UrlName">Prg Update Status</a> indicate the download status, and on completion of the download a prompt will appear for the Prg to be launched. If Prg is a <B>.lnk</B> file, the Update Prg button is unavailable. Although executable files at remote URLs are better handled by PrgLnch, compressed files require external decompression programs before use.
</td>
 </tr>
<tr href="#" id="UrlName">
<td>
Url Name:
</td>
<td>
Type in a valid <a href="https://en.wikipedia.org/wiki/Uniform_Resource_Locator">Url</a> of where the newer version of Prg is expected to reside. The <a href="PrgLnch FAQ.htm#Del">Del key</a> deletes all contents of the edit box. In the current version, at least, URL Name is not available if Prg isn't an <B>.exe</B>, <B>.com</B> or <B>.scr</B> by extension.
</td>
</tr>
<tr href="#" id="PrgUpdateStatus">
<td>
Prg Update Status:
</td>
<td>
A brief informational message relating to the version and availablity of Prg at the <a href="PrgLnch Config/PrgLnch Config.htm#UrlName">above Url.</a>
</td>
</tr>
<tr href="#" id="BackToPrglnch">
<td>
Back to Prglnch:
</td>
<td>
All values are saved and returns to the <a href="PrgLnch Batch/PrgLnch Batch.htm">PrgLnch Batch</a> dialog.
</td>
</tr>
</table>

<a href="#" id="Authref"></a>
<p><I>Author reference: Version checking is done as described <a href="https://autohotkey.com/docs/commands/URLDownloadToFile.htm#Examples">here</a>:</I>
</p>
<pre><code><I>
UrlDownloadToFile,
https://autohotkey.com/download/1.1/version.txt, C:\AutoHotkey Latest Version.txt
UrlDownloadToFile, http://someorg.org/archive.zip, C:\SomeOrg's Archive.zip<br>
; <U>Example: Download text to a variable:</U>
whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", "https://autohotkey.com/download/1.1/version.txt", true)
whr.Send()
; Using 'true' above and the call below allows the script to remain responsive.
whr.WaitForResponse()
version := whr.ResponseText
MsgBox % version
</I></code></pre>
</BODY>
</HTML>